import regeneratorRuntime from '../../lib/runtime/runtime';
import { request } from '../../request/index.js'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        /* 左侧菜单栏数据 */
        leftmenuList: [],
        /* 右侧内容 */
        rightContent: [],
        /* 被点击的菜单 */
        currentIndex: 0,
        /* 右侧内容滚动条到顶部的距离 */
        scrollTop: 0
    },
    /* 接口返回数据 */
    Cates: [],
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        //获取本地存储中的数据
        const Cates = wx.getStorageSync('cates')
        if (!Cates) {
            //不存在，则发起请求
            this.getCates()
        } else {
            //有旧数据，定义一个过期时间
            if (Date.now() - Cates.data > 1000 * 10) {
                //重新发送请求
                this.getCates()
            }
            else {
                //可以使用旧数据
                this.Cates = Cates.data
                let leftmenuList = this.Cates.map(v => v.cat_name)
                let rightContent = this.Cates[0].children
                this.setData({
                    leftmenuList, rightContent
                })
            }
        }
    },
    async getCates() {
        // request({url:'/categories'}).then(res=>{
        //     this.Cates=res.data.message
        //     //把接口数据存入到本地存储中
        //     wx.setStorageSync('cates', {time:Date.now(),data:this.Cates})
        //     let leftmenuList=this.Cates.map(v=>v.cat_name)
        //     let rightContent=this.Cates[0].children
        //     this.setData({
        //         leftmenuList,rightContent
        //     })
        // })
        // 1.使用es7的async await来发送请求
        const res = await request({
            url: '/categories'
        });
        this.Cates = res
        //把接口数据存入到本地存储中
        wx.setStorageSync('cates', { time: Date.now(), data: this.Cates })
        let leftmenuList = this.Cates.map(v => v.cat_name)
        let rightContent = this.Cates[0].children
        this.setData({
            leftmenuList, rightContent
        })
    },
    // 左侧菜单点击事件
    handleItemTap(e) {
        /* 获取索引 */
        const { index } = e.currentTarget.dataset;
        let rightContent = this.Cates[index].children
        this.setData({
            currentIndex: index,
            rightContent,
            //重新设置滚动条到顶部的距离
            scrollTop: 0
        })
    }

})